پایگاه داده جلسه 8 محمد علی فرجیان مدرس :محمد علی فرجیان 1 2/23/2015
فهرست تعاریف مدل رابطهاي انواع کلید جامعیت جبر رابطهاي
تعاريف دامنه )Domain( مجموعه تمام مقادیر ممکن براي صفت )Attribute( است.
تعاريف رابطه )Relation( زیر مجموعهاي از ضرب دکارتي چند دامنه است. مثال: اگر داشته باشیم :D2 Integer و :D1 String آنگاه هر مجموعهاي که عضوهایش زوجهاي (D1,D2) باشند یک رابطه است. D1: String D2: Integer 10 20 -- بهترین راه نمایش و پیاده سازي رابطه به وسیله جدول است علی رضا --
تعريف خاصيت کليدي کلید یک رابطه تمام عضوهاي آن را به صورتي به فرد مشخص ميکند. منحصر در مدل رابطهاي کلید مجموعهاي از صفتها دو مورد زیر را در مورد آنها رعایت کرد. است که باید کلید تکراري وارد رابطه )جدول( نشود. مقدار تهي )NULL( براي کلید وارد نشود.
انواع کليد ابر کلید key( )Super کلید کاندید key( )Candidate کلید اصلي key( )Primary کلید فرعي key( )Secondary کلید خارجي key( )Foreign.1.2.3.4.5
1- ابر کليد هر صفت یا مجموعه اي از صفات که خاصیت کلیدي داشته باشد. لزوما کمینیه نیست
2 -کليد کانديد هر صفت یا مجموعه اي از صفات که خاصیت کلیدي داشته باشد و کمینه باشد. کمینه :)Minimal( کلیدي کمینه است که اگر هر یک از صفات آنرا حذف نماییم دیگر کلید نباشد.
کليد 3- کليد اصلي: یکي از کلیدهاي کاندید است که توسط مدیر بانک اطالعات انتخاب شده است. مجموعه ای از یک یا چند ویژگی است که برای شناسایی و تمایز میان موجودیت های یک دسته مورد استفاده قرار میگیرد. 4- کليد فرعي: یکي دیگر از کلیدهاي کاندید است که براي برخي کاربردها انتخاب ميشود. 5- کليد خارجي: صفتي است در یک رابطه که در رابطه دیگري کلید اصلي )یا فرعي( است و براي برقراري ارتباط بین دو رابطه )جدول( استفاده ميشود.
جدول دانشجو S# کليد اصلي
کليد اصلي Pname جدول استاد
جامعيت )Integrity( انواع جامعيت در مدل رابطهاي.1 جامعیت دامنهاي integrity( )Domain 2. جامعیت درون رابطهاي integrity( )Intra-relation.3 جامعیت ارجاع integrity( )Referential
جامعيت دامنه اي integrity( )Domain هر صفت بايد از نوع خودش باشد. هر صفت بايد مقادير مجاز خود را رعايت کند..1.2
جامعيت درون رابطه اي integrity( )Intra-relation کليدهاي اصلي و فرعي نبايد مقادير تکراري داشته باشند. يعنی هر رابطه به تنهايی صحيح باشد)مثال عضو تکراری نداشته باشد و کلید هایش درست باشند و کلید ها دارای مقادیر تهی (Null) یا تکراری نباشند(
جامعيت ارجاع integrity( )Referential کليد خارجي نمي تواند مقداري داشته باشد که در جدول مرجع وجود ندارد. يعنی کليد خارجی درست تعريف شده باشد. مثال کليد خارجی يک رابطه حتما در رابطه ديگر کليد باشد
جداول نمونه تصوير ادراکي بخشي از بانک اطالعات دانشگاه در مدل رابطه اي Stud ( s#, sname, city, ave, clg#) )شماره دانشکده معدل کل شهر محل تولد نام شماره( دانشجو Prof ( pname, office, esp, degree,clg#) )شماره دانشکده مدرک تحصیلي تخصص دفتر کار نام( استاد Crs ( c#, cname, unit, clg#) )شماره دانشکده ارائه دهنده تعداد واحد نام شماره( درس Sec ( sec#, c#, s#, term, pname, score) )نمره نام استاد ترم شماره دانشجو شماره درس شماره گروه( گروه درس Clg ( clg#, clgname, city, pname) )نام رئیس نام شهر نام دانشکده شماره( دانشکده
جبر رابطه اي algebra( )Relational جبر رابطه به معنی نوع داده و عملگرهایی روی آنهاست 17 مدرس :محمد علی فرجیان 2/23/2015
جبر رابطه اي algebra( )Relational.1.2.3.4 نوع داده )عملوند( در جبر رابطهاي فقط رابطه است. عملگرهاي جبر رابطهاي به چهار دسته تقسیم ميشوند. عملگرهاي ساده گزینش σ و پرتو σ( )П П عملگرهاي مجموعهاي اجتماع اشتراک و تفاضل )- ( عملگرهاي پیوند join شامل ضرب دکارتی x پیوند شرطی با عالمت x θ و پیوند طبیعی با عالمت و و نیم پیوند یا semi ),, x θ, x ( با عالمت join سایر عملگرها شامل نامگذاری با عالمت ρ و جایگزینی و تقسیم ( ρ )
انواع عملگرها عملگرهاي اصلي عملگرهاي اضافي عملگرهاي اضافي را ميتوان با ترکیب عملگرهاي اصلي جایگزین کرد بنابراین حالت کمکي و ساده کردن کار را دارد. B=A-(A-B) A
عملگر گزينش ( Select با عالمت σ( انتخاب سطر (نام جدول) σ θ ورودي: خروجي: یک رابطه یک رابطه ستون هاي خروجي برابر با تمام ستون هاي ورودي سطرهاي خروجي برابر با آن سطرهایي از ورودي که داراي شرط ذکر شده باشند
مثال: مشخصات دانشجوياني که معدل الف دارند σ ave>=17 (stud)
مثال: مشخصات دانشجوياني که متولد تهران هستند و معدل الف دارند σ ave>=17 ^ تهران = city (stud)
عملگر پرتو Progect( با عالمت П( انتخاب ستون (نام جدول ورودي) П col نکته: ورودي: خروجي: یک رابطه یک رابطه ستونهاي خروجي: فقط آن ستونهایي از جدول ورودي که در دستور ذکر شده است. سطرهاي خروجي: شامل تمام سطرهاي ورودي است. این عملگر روي سطر شرط اعمال نمي کند.
مثال: شهرهايي که دانشجويان متولد آن شهرها هستند П city (stud)
مثال: شماره دانشجويي و نام دانشجويان П S#,sname (stud)
عملگرهاي مجموعه اي ورودي: دو رابطه خروجي: یک رابطه توجه: دو رابطه باید همتا باشند یعني: تعداد ستونها برابر و نوع ستونها نظیر به نظیر یکسان باشند. و صفت ها به ترتیب دارای دامنه های یکسان باشند. ستونهاي خروجي: سطرهاي خروجي: ورودي همتا با ستونهاي ورودي برابر با اجتماع/اشتراک/تفاضل سطرهاي
مثال: اسامي افرادي که يا دانشجو هستند يا استاد П sname (stud) П pname (prof)
مثال: لیست نام اساتیدي که رئیس دانشکده نیستند. П pname (prof) - П pname (clg) مثال: لیست اسامي دانشجویان و اساتید همنام. П pname (prof) П sname (stud)
عملگرهاي پيوند عملگر ضرب دکارتي product( cartesian با عالمت ( ترکیب جداول ورودي: دو رابطه خروجي: یک رابطه ستونهاي خروجي برابر با تمام ستونهاي دو رابطه ورودي سطرهاي خروجي برابر با همه ترکیبهاي ممکن از دو جدول
ضرب دکارتي
عملگرهاي پيوند - مثال نام دانشکده اي که درس شبیه سازي در آن ارایه مي شود اسامي اساتیدي که در دانشکده کامپیوتر تدریس مي کنند
عملگر پيوند شرطي مانند ضرب دکارتي عمل ميکند با این تفاوت که شرط θ را نیز روي سطرها اعمال ميکند. ورودي: دو رابطه خروجي: یک رابطه A θ B = σ θ (A B)
پيوند شرطي - مثال شماره درس نام دروس و نام دانشکده ارایه دهنده دروس چهار واحدي
پيوند شرطي - مثال شماره و نام دانشجویان به همراه شماره و نام دانشکده محل تحصیل آنها
پيوند شرطي - مثال اسامي دانشجویاني که در ئرس مدار منطقي ثبت نام کرده اند
عملگر پيوند طبيعي Join( natural با عالمت ) مانند عملگر پیوند شرطي عمل ميکند با این تفاوت که شرط بطور اتوماتیک و خودبه خود اعمال مي گردد. این عملگر روي همه ستونهاي همنام شرط تساوي را اعمال ميکند. ستون همنام فقط یکبار در خروجي ميآید.
پيوند طبيعي - مثال اسامي دروسي که در دانشکده کامپیوتر ارایه مي گردد
پيوند طبيعي - مثال نام دانشکده دانشجویي به نام محمدي П clgname (σ محمدي = snme (stud П clg#,clgname (clg)))
پيوند طبيعي - مثال اسامي دروسي که دانشجویي به نام محمدي در ترم 761 اخذ نموده است
پيوند طبيعي - مثال اسامي دانشجوياني که در دانشکده محل تولدشان تحصيل مي کنند. П sname (stud clg)
عملگر نيم پيوند Join( Semi با عالمت ( ورودي: دو رابطه خروجي: یک رابطه در خروجي فقط ستونهاي جدول اول مي آید. A B = П A (A B)
مثال نيم پيوند - شماره و نام دانشجویاني که در دانشکده کامپیوتر درس مي خوانند
مثال نيم پيوند - اسامي دانشجویاني که در نیمسال 841 دانشکده خود درس داشته اند با رئیس